@echo off
chcp 65001 >nul
title 手持4G信号检测系统 - 日志分析工具

:LOG_MENU
cls
echo ========================================
echo    手持4G信号检测系统 - 日志分析工具
echo ========================================
echo.
echo 请选择日志分析操作:
echo.
echo [1] 实时监控应用日志
echo [2] 查看崩溃日志
echo [3] 查看错误日志
echo [4] 查看调试日志
echo [5] 查看所有应用日志
echo [6] 保存日志到文件
echo [7] 分析历史日志文件
echo [8] 清理日志缓存
echo [0] 返回主菜单
echo.
set /p choice=请输入选项 (0-8): 

if "%choice%"=="1" goto REALTIME_LOG
if "%choice%"=="2" goto CRASH_LOG
if "%choice%"=="3" goto ERROR_LOG
if "%choice%"=="4" goto DEBUG_LOG
if "%choice%"=="5" goto ALL_LOG
if "%choice%"=="6" goto SAVE_LOG
if "%choice%"=="7" goto ANALYZE_FILE
if "%choice%"=="8" goto CLEAR_LOGS
if "%choice%"=="0" goto EXIT
goto INVALID_CHOICE

:REALTIME_LOG
echo.
echo ========================================
echo           实时监控应用日志
echo ========================================
echo 按 Ctrl+C 停止监控
echo 过滤条件: 应用包名 + 时间戳
echo.
set ADB_PATH=D:\Android\android-sdk\platform-tools\adb.exe
"%ADB_PATH%" logcat -s "handheld4_gsignal_app" -v time
pause
goto LOG_MENU

:CRASH_LOG
echo.
echo ========================================
echo           查看崩溃日志
echo ========================================
echo 正在搜索崩溃相关信息...
echo.
"%ADB_PATH%" logcat -d | findstr /i "FATAL\|AndroidRuntime\|Exception\|Error\|crash"
pause
goto LOG_MENU

:ERROR_LOG
echo.
echo ========================================
echo           查看错误日志
echo ========================================
echo 正在搜索错误信息...
echo.
"%ADB_PATH%" logcat -d | findstr /i "ERROR\|E/"
pause
goto LOG_MENU

:DEBUG_LOG
echo.
echo ========================================
echo           查看调试日志
echo ========================================
echo 正在搜索调试信息...
echo.
"%ADB_PATH%" logcat -d | findstr /i "DEBUG\|D/"
pause
goto LOG_MENU

:ALL_LOG
echo.
echo ========================================
echo           查看所有应用日志
echo ========================================
echo 按 Ctrl+C 停止监控
echo.
"%ADB_PATH%" logcat -v time
pause
goto LOG_MENU

:SAVE_LOG
echo.
echo ========================================
echo           保存日志到文件
echo ========================================
set timestamp=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
set timestamp=%timestamp: =0%
set logfile=app_log_%timestamp%.txt

echo 正在保存日志到: %logfile%
echo 按 Ctrl+C 停止记录
echo.
"%ADB_PATH%" logcat -v time > %logfile%
echo.
echo ✅ 日志已保存到: %logfile%
pause
goto LOG_MENU

:ANALYZE_FILE
echo.
echo ========================================
echo           分析历史日志文件
echo ========================================
echo 当前目录中的日志文件:
dir *.txt 2>nul
echo.
set /p logfile=请输入要分析的日志文件名: 
if not exist "%logfile%" (
    echo ❌ 文件不存在: %logfile%
    pause
    goto LOG_MENU
)

echo.
echo 正在分析日志文件: %logfile%
echo.
echo ========== 崩溃信息 ==========
findstr /i "FATAL\|AndroidRuntime\|Exception\|Error\|crash" "%logfile%"
echo.
echo ========== 错误信息 ==========
findstr /i "ERROR\|E/" "%logfile%"
echo.
echo ========== 应用相关日志 ==========
findstr /i "handheld4_gsignal_app" "%logfile%"
echo.
pause
goto LOG_MENU

:CLEAR_LOGS
echo.
echo ========================================
echo           清理日志缓存
echo ========================================
"%ADB_PATH%" logcat -c
echo ✅ 日志缓存已清理
pause
goto LOG_MENU

:INVALID_CHOICE
echo.
echo ❌ 无效选项，请重新选择
timeout /t 2 /nobreak >nul
goto LOG_MENU

:EXIT
echo.
echo 感谢使用日志分析工具！
exit /b 0